﻿// 258. 石头剪子布.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*

https://www.acwing.com/problem/content/260/
N  个小朋友（编号为 0,1,2,…,N−1）一起玩石头剪子布游戏。

其中一人为裁判，其余的人被分为三个组（有可能有一些组是空的），第一个组的小朋友只能出石头，第二个组的小朋友只能出剪子，第三个组的小朋友只能出布，而裁判可以使用任意手势。

你不知道谁是裁判，也不知道小朋友们是怎么分组的。

然后，孩子们开始玩游戏，游戏一共进行 M 轮，每轮从 N 个小朋友中选出两个小朋友进行猜拳。

你将被告知两个小朋友猜拳的胜负结果，但是你不会被告知两个小朋友具体使用了哪种手势。

比赛结束后，你能根据这些结果推断出裁判是谁吗？

如果可以的话，你最早在第几轮可以找到裁判。

输入格式
输入可能包含多组测试用例

每组测试用例第一行包含两个整数 N 和 M。

接下来 M 行，每行包含两个整数 a,b，中间夹着一个符号(>,=,<)，表示一轮猜拳的结果。

两个整数为小朋友的编号，a>b 表示 a 赢了 b，a=b 表示 a 和 b 平手，a<b 表示 a 输给了 b。

输出格式
每组测试用例输出一行结果，如果找到裁判，且只能有一个人是裁判，则输出裁判编号和确定轮数。

如果找到裁判，但裁判的人选多于 1 个，则输出 Can not determine。

如果根据输入推断的结果是必须没有裁判或者必须有多个裁判，则输出 Impossible。

具体格式可参考样例。

数据范围
1≤N≤500,
0≤M≤2000
输入样例：
3 3
0<1
1<2
2<0
3 5
0<1
0>1
1<2
1>2
0<2
4 4
0<1
0>1
2<3
2>3
1 0
输出样例：
Can not determine
Player 1 can be determined to be the judge after 4 lines
Impossible
Player 0 can be determined to be the judge after 0 lines
*/
int main()
{
    std::cout << "Hello World!\n";
}

 